/* 
 * @author: lethanhquang910@gmail.com
 * backend common script!
 */

function showMsg(obj, msg){
    $(obj).text(msg).fadeIn('fast', function(){
        setTimeout(function(){
            $(obj).fadeOut('fast');
        }, 3000);
    });
}

function addCategory()
{
    var cateName = $('#cateName').val();
    
    if(cateName == '' || cateName == undefined){
        showMsg('#cateErrorMsg', 'Bạn chưa điền tên chuyên mục.');
        return false;
    }
    
    //Call Ajax to create new category
    $.ajax({
        type: 'POST',
        url: config.base_url + 'backend/category/create_ajax',
        data: $('#categoryAddFrom').serialize(),
        dataType: 'json',
        success: function(response){
            if(response.error == 0){
                $('#categoryAddFrom').hide();
                showMsg('#cateSuccessMsg', response.message);
                getCategory();
                
                if ($('#cateParent').val() == 0) {
                    $('#cateParent').append('<option value="'+response.id+'">'+cateName+'</option>');
                }

                //Reset form
                $('#categoryAddFrom')[0].reset();
            }else{
                showMsg('#cateErrorMsg', response.message);
            }
        },
        error: function(e){
            showMsg('#cateErrorMsg', 'Có lỗi xảy ra, vui lòng thử lại.');
        }
    });
    
    return false;
}

function updateCategory()
{
    var cateName = $('#cateName').val();
    var cateID = $('#cateUpdateID').val();
    
    if(cateName == '' || cateName == undefined){
        showMsg('#cateErrorMsg', 'Bạn chưa điền tên chuyên mục.');
        return false;
    }
    
    if(cateID == '' || cateID == 0){
        showMsg('#cateErrorMsg', 'Có lỗi xảy ra, vui lòng thử lại.');
        return false;
    }
    
    //Call Ajax to create new category
    $.ajax({
        type: 'POST',
        url: config.base_url + 'backend/category/update_ajax',
        data: $('#categoryAddFrom').serialize() + '&cateID=' +  cateID,
        dataType: 'json',
        success: function(response){
            if(response.error == 0){
                $('#categoryAddFrom').hide();
                showMsg('#cateSuccessMsg', response.message);
                getCategory();

                //Reset form
                $('#categoryAddFrom')[0].reset();
            }else{
                showMsg('#cateErrorMsg', response.message);
            }
        },
        error: function(e){
            showMsg('#cateErrorMsg', 'Có lỗi xảy ra, vui lòng thử lại.');
        }
    });
    
    return false;
}

function getCategory()
{
    //Call Ajax to create new category
    $.ajax({
        type: 'POST',
        url: config.base_url + 'backend/category/get_all',
        dataType: 'html',
        success: function(response){
            if(response != ''){
                $('#list-category').html(response);
            }
        },
        error: function(e){
            console.log(e);
        }
    });
    
    return false;
}

function editCategory(id)
{
    var data = $.parseJSON($('#row-cate-value-'+id).text());
    
    //Set params
    $('#cateUpdateID').val(id);
    $('#cateParent').val(data.parent_id);
    $('#cateName').val(data.title);
    $('#cateInfo').val(data.info);
    $('#cateStatus').val(data.status);
    
    //Show
    $('#categoryAddFrom > h4').text("Chỉnh sửa chuyên mục");
    $('#cateBtnCreate').hide();
    $('#cateBtnUpdate').show();
    $('#categoryAddFrom').slideDown('fast');
}

function deleteCategory(id)
{
    var data = $.parseJSON($('#row-cate-value-'+id).text());
    
    if(confirm('Bạn có muốn xóa chuyên mục "'+data.title+'" này không?\n\nChú ý: Tất cả hình ảnh trong chuyên mục sẽ bị mất.')){
    
        if(id == '' || id == undefined || id == null){
            showMsg('#cateErrorMsg', 'Có lỗi xảy ra, vui lòng thử lại.');
            return false;
        }

        //Call Ajax to create new category
        $.ajax({
            type: 'POST',
            url: config.base_url + 'backend/category/delete_ajax',
            data: {cateID : id},
            dataType: 'json',
            success: function(response){
                if(response.error == 0){
                    $('#row-cate-id-'+id).remove();
                    showMsg('#cateSuccessMsg', response.message);
                }else{
                    showMsg('#cateErrorMsg', response.message);
                }
            },
            error: function(e){
                showMsg('#cateErrorMsg', 'Có lỗi xảy ra, vui lòng thử lại.');
            }
        });
    }
    
    return false;
}

$(document).ready(function(){
    $('#categoryAddBtn').bind('click', function(){
        $('#cateBtnCreate').show();
        $('#cateBtnUpdate').hide();
        $('#categoryAddFrom')[0].reset();
        $('#categoryAddFrom > h4').text("Thêm chuyên mục mới");
        $('#categoryAddFrom').slideDown('fast');
        return false;
    });
    
    getCategory();
});